Klassen und Objekte =================== - Dateinamen entsprechen Klassennamen - Namen fangen mit Großbuchstaben an - Zusammenfassung von Daten und Funktionen - Alle Funktionen, die wir schreiben sind Teil einer Klasse - Eine Klasse ist ein Template für ein "Objekt" - Objekte ihrerseits enthalten Daten, wie sie in der Klasse definiert sind - Jedes Java-Programm besteht aus mindestens einer Klasse, die eine main()-Funktion enthält - Größere Java Programme bestehen aus vielen Klassen. Objekte dieser Klassen repräsentieren idR. die realen Gegenstände, die in dem Programm modelliert werden. Beispiele: - Quittung - Kasse - (Mitarbeiter) - Ware - Warenlager - (Zahlvorgang) - (Stornierung) - Wo in einem einfachen Programm parallele Arrays vorkommen versucht man in der Objektorientierung einen Datentyp (Klasse) anzulegen, so dass man die Informationen in einem einzigen Array diesen Typs darstellt Konstruktor ----------- - Klassen dürfen eine Konstruktor-Methode haben - (eigentlich) immer public - niemals statisch - hat keine Rückgabe (keinen Rückgabetyp, auch nicht void) - Wird so geschrieben wie die Klasse (daher mit Großbuchstabe am Anfang) - die erste Methode, auf dem neu angelegten Objekt -> kann nicht-statische Properties benutzen toString() ---------- - in jeder Klasse existiert stillschweigend eine toString()-Methode - toString() wird immer aufgerufen, wenn ein Objekt als String ausgegeben wird - die toString()-Methode kann man in jeder Klasse sinnvoll überlagern - Wird sie nicht überlagert, gibt toString() eine Objektreferenz (eine "Speicheradresse") aus.